package java_learn.java_jinjie.DataStructure;

/*
        java.util.List接口继承 collections
        特点：
        1.有序的集合，存储元素和取出元素的顺序是一致的
        2.有索引，包含了一些带索引的方法
        3.允许存储重复元素
        List接口带索引的方法：
            public void add(int index, E element) : 将指定的元素，添加到该集合中的指定位置上。
            public E get(int index) :返回集合中指定位置的元素。
            public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
            public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
*/

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class DemoList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("a");
        list.add(2, "3");
        list.remove(1);
        list.set(1, "1");
        System.out.println(list.get(1));
        System.out.println(list);
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i));
        }
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            System.out.print(it.next());
        }
        for (String s : list) {
            System.out.print(s);
        }
    }
}
